This Application is related to U.S. Patent Application Ser. No. 09/138,701, filed Aug. 24, 1998, entitled xe2x80x9cDEVICE AND METHOD FOR PARALLEL SIMULATION xe2x80x9dfiled on even date herewith by the same inventor under common assignees and the subject matter is incorporated herein by reference.
1. Field of Invention
This invention relates to a method and apparatus for generating and distributing simulation tasks for parallel simulation.
2. Description of Related Art
Parallel simulation is commonly used to increase simulation speed and thus improve simulation turn around time. One type of parallel simulation takes advantage of multiple processors to perform independent simulations of the same entity where each of the processors simulate the entity using different simulation parameters. For example, in circuit simulation, it is often necessary to simulate the circuit using various power supply voltages and circuit temperatures. Instead of using a single processor to serially perform the independent circuit simulations, multiple processors are used to perform the simulations in parallel and thus shorten the time required to obtain simulation results. In such a parallel simulation environment, every assistance to the user may further reduce the amount of time required to achieve a total simulation task. Thus, new technology is needed to further enhance the parallel simulation environment to optimally reduce simulation turn around times.
The invention provides for a simulation task generator that reduces the effort and time required for a user to prepare for a parallel simulation. The simulation task generator receives a request from the user which specifies ranges of parameters that are desired for a particular parallel simulation. The simulation task generator determines a specific combination of parameters which corresponds to each simulation task. The simulation task generator may also assign estimated processor and resource requirements for each of the simulation tasks. The processor and resource requirements indicate the approximate processor power and resources that may be required by the respective simulation tasks.
After each of the simulation tasks are determined, the simulation task generator retrieves information from a database that indicates availability of accessible processors for performing the parallel simulation. This information also contains ratings corresponding to each of the accessible processors that indicates the power and resources that are available for each of the processors. After retrieving the information from the database, the simulation task generator matches the simulation tasks to the available processors to achieve an optimum performance based on a criterion such as minimum elapsed time of the parallel simulation.
Some of the available processors may also be used as secondary distributors. Such processors may be provided subranges of the parameters specified by the user. The secondary distributors generate simulation tasks and distribute those tasks to other processors more conveniently accessed by the secondary distributor. Thus, the simulation task generator may minimize network time by reducing the amount of data that is transmitted to the available processors by distributing the data in a more compact form and allowing secondary distributors to also execute simulation task generator functions to achieve the total parallel simulation.
In addition, secondary distributors may be a processor in a domain and files sent to the secondary distributors become accessible to all the processors in the domain. Thus, files necessary for simulations executed by any of the processor in the domain is sent once to the secondary distributors.